package com.ajiao4.Demo;

import com.util.JDBCUtil;
import org.junit.Test;

import java.awt.image.ShortLookupTable;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLOutput;
import java.util.Scanner;


public class Exer1Test {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入用户名:");
        String name = scanner.next();
        System.out.println("请输入邮箱:");
        String email = scanner.next();
        System.out.println("请输入生日:");
        String birthday = scanner.next();
        String sql = "insert into customers(name,email,birth)values(?,?,?)";
        int insertCount = update(sql, name, email, birthday);
        System.out.println(insertCount > 0 ? "添加成功！" : "添加失败");
    }


    /**
     * 通用的增删改操作
     */
    //sql语句中的占位符的个数与可变形参的长度相同
    public static int update(String sql, Object... args) {
        Connection conn = null;
        PreparedStatement ps = null;
        try {
            //1.获取连接
            conn = JDBCUtil.getConnection();
            //2.预编译,返回preparedStatement的实例
            ps = conn.prepareStatement(sql);
            //3.填充占位符
            for (int i = 0; i < args.length; i++) {
                ps.setObject(i + 1, args[i]);//占位符是从1开始的 所以i+1
            }
            //4.执行  如果执行的是查询操作，有返回结果，则返回true。
            //如果执行的是增删改操作，没有返回结果，则方法返回false
            return ps.executeUpdate();


        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            //5.关闭资源
            JDBCUtil.CloseResource(conn, ps);
        }
        return 0;
    }
}
